ae6731c653107ee72b4b3842bf32e6983aac0cd8,java/org/apache/jasper/compiler/Parser.java,Parser,parseTemplateText,#Node#,1280
Before Change
} else if (ch == '\\' && !pageInfo.isELIgnored()) {
int next = reader.nextChar();
if (next == '$' || next == '#') {
if (reader.nextChar() == '{') {
ttext.write(next);
ttext.append('{');
} else {
ttext.append('\\');
ttext.write(next);
reader.pushChar();
}
} else {
ttext.append('\\');
reader.pushChar();
}
} else if ((ch == '$' || ch == '#' && !pageInfo.isDeferredSyntaxAllowedAsLiteral()) &&
!pageInfo.isELIgnored()) {
if (reader.nextChar() == '{') {
reader.pushChar();
reader.pushChar();
break;
} else {
reader.pushChar();
ttext.write(ch);
}
} else {
After Change
CharArrayWriter ttext = new CharArrayWriter();
int ch = reader.nextChar();
while (ch != -1) {
if (ch == '<') {
// Check for "<\%"
if (reader.peekChar(0) == '\\' && reader.peekChar(1) == '%') {
ttext.write(ch);
// Swallow the \
reader.nextChar();
ttext.write(reader.nextChar());
} else {
if (ttext.size() == 0) {
ttext.write(ch);
} else {
reader.pushChar();
break;
}
}
} else if (ch == '\\' && !pageInfo.isELIgnored()) {
int next = reader.peekChar(0);
if (next == '$' || next == '#') {
if (reader.peekChar(1) == '{') {
ttext.write(reader.nextChar());
ttext.write(reader.nextChar());
} else {
ttext.write(ch);
ttext.write(reader.nextChar());
}
} else {
ttext.write(ch);
}
} else if ((ch == '$' || ch == '#' && !pageInfo.isDeferredSyntaxAllowedAsLiteral()) &&
!pageInfo.isELIgnored()) {
if (reader.peekChar(0) == '{') {
reader.pushChar();
break;
} else {